package cn.edu.hunau.basic.day04;

import org.junit.Test;

import java.util.Arrays;
import java.util.Random;

/**
 * @author hb
 * @date 2025-07-31 09:29:45
 */
public class RandomArrayhw {

    @Test
    public void test(){
        int count=0;
        while(count<10){
            int[] data=getRandomDataArray(6,33);
            System.out.println(Arrays.toString(data));
            count++;
        }
    }


    public int[] getRandomDataArray(int length,  int bound) {
        int [] result= new int[length];
        //声明一个标记数组标记数据是否存在
        //随机范围[1,33] 那么如果数据为33,flags[33]需要设置为true
        boolean[] flags =new boolean[bound+1];
        Random r=new Random();
        for(int i=0;i<length;i++){
           int temp= r.nextInt(bound)+1;
            //判断temp是否已经被标记
            if(flags[temp]){//如果为true,表示该数据已经存在
                i--;//重新对i进行计算
                System.out.println("出现重复");
            }else{
                result[i]=temp;
                //标记该数据的存在
                flags[temp]=true;
            }
        }
        return result;
    }
}
